/* 
 ###AES对称加密（ECB模式）-前后端登录密码加密处理；
 前后台密钥进行加解密；可以通过后端生成并通过非对称加密后传输秘钥，秘钥不可明文传输
*/
import CryptoJS from 'crypto-js'

const key = 'uBdUx82vPHkDKb284d7NkjFoNcKWBuka'; //秘钥，前后端统一

export default {
  /**
   * 加密 --api
   * @param word string
   * @returns {*} string
   */
  //word为string加密内容,mode为加密规则}
  encrypt(word: any) {
    var secretKey = CryptoJS.enc.Utf8.parse(key) //加解密规则
    var srcs = CryptoJS.enc.Utf8.parse(word) //加密内容
    
    var encrypted = CryptoJS.AES.encrypt(srcs, secretKey, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    })
    return encrypted.toString()
  },
  /**
   * 解密 --api
   * @param word string
   * @returns {*} string
   */
  // word为string解密内容, mode为解密规则
  decrypted(word: any) {
    var secretKey = CryptoJS.enc.Utf8.parse(key) //加解密规则
    
    var decrypt = CryptoJS.AES.decrypt(word, secretKey, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    })
    return CryptoJS.enc.Utf8.stringify(decrypt).toString()
  }
}
